perm filename M11IO.FAI[M11,LCS]1 blob
sn#400661 filedate 1978-11-30 generic text, type T, neo UTF8
00100 TITLE MSSIO
00200 INTERNAL PUTEXT,EXTOUT,FINEXT,OSC,OUTP
00300 EXTERNAL LM,NT,GENS,ROUT
00900
01000
01100 CH3←13
01200 CH←12
01300 CH2←11
01400 BLKS←←=1
02200
02300 REGS: BLOCK 20
02400 DIR: BLOCK 4
02500
02600 ;CALL PUTEXT(<FILE>,<EXT>)
02700 PUTEXT: 0 ;USES EXTOUT,FINEXT, CH2
02800 MOVE 0,@0(16)
02900 MOVEM 0,FILNAM
03000 MOVE 0,@1(16)
03100 MOVEM 0,EXTNAM
03200 JSA 16,INTFIL
03300 SETZM DIR+2
03400 SETZM DIR+3
03500 ENTER CH2,DIR
03600 0
03700 JRA 16,2(16)
03800
03900 ;CALL EXTOUT(<ARRAY>,<NO. OF WORDS>)
04000
04100 EXTOUT: 0
04200 HRRZ 0,0(16)
04300 SUBI 0,1
04400 MOVEM 0,COM
04500 MOVN 0,@1(16)
04600 HRLM 0,COM
04700 OUTPUT CH2,COM
04800 STATZ CH2,740000
04900 0
05000 JRA 16,2(16)
05100
05200
05300 INTFIL: 0 ;INITS DSK
05400 MOVEI REGS
05500 BLT REGS+3
05600 INIT CH2,17
05700 SIXBIT/DSK/
05800 0
05900 0
06000 INTF4: MOVE 0,FILNAM#
06100 MOVEM 0,FN#
06200 MOVE 1,[POINT 7,FN]
06300 INTF3: MOVE 2,[POINT 6,DIR]
06400 SETZM DIR
06500 MOVEI 3,5
06600 INTF1: ILDB 0,1
06700 CAIN 0," "
06800 JRST INTF2
06900 SUBI 0,40
07000 IDPB 0,2
07100 SOJG 3,INTF1
07200 INTF2: HRLZI REGS
07300 BLT 3
07400 MOVE 0,EXTNAM#
07500 MOVEM 0,EX#
07600 MOVE 1,[POINT 7,EX]
07700 EXTF3: MOVE 2,[POINT 6,DIR+1]
07800 SETZM DIR+1
07900 MOVEI 3,5
08000 EXTF1: ILDB 0,1
08100 CAIN 0," "
08200 JRST EXTF2
08300 SUBI 0,40
08400 IDPB 0,2
08500 SOJG 3,EXTF1
08600 EXTF2: HRLZI REGS
08700 BLT 3
08800 JRA 16,0(16)
08900
09000
09100 COM: OCT 0,0
09200 BLKNUM: 0
09300
09400 ;CALL FINEXT
09500 FINEXT: 0
09600 CLOSE CH2,0
09700 STATZ CH2,740000
09800 0
09900 RELEASE CH2,0
10000 JRA 16,0(16)
10100 OSC: 0 ;OSC UNIT GENERATOR
10200 MOVE 1,LM+4 ;L5
10300 MOVE 15,NT-1(1) ;SUM
10400 SKIPLE 12,LM+=10 ;M1
10500 JRST OSC1
10600 MOVE 2,LM ;L1
10700 MOVE 14,NT-1(2) ;AMP
10800 OSC1: SKIPLE 11,LM+=11 ;M2
10900 JRST OSC2
11000 MOVE 3,LM+1 ;L2
11100 MOVE 10,NT-1(3) ;FREQ
11200 OSC2: SETZ 4, ;J3
11300 OSC3: KIFIX 5,15
11400 ADD 5,LM+3 ;L4
11500 MOVE 13,GENS-1(5) ;F
11600 JUMPG 11,O286
11700 FADR 15,10 ;SUM
11800 JRST O290
11900 O286: MOVE 6,4
12000 ADD 6,LM+1 ;J4
12100 FADR 15,ROUT-1(6) ;SUM
12200 O290: CAML 15,LM+=21 ;XNFUN
12300 JRST O287
12400 JUMPL 15,O289
12500 O288: MOVE 6,4
12600 ADD 6,LM+2 ;J5
12700 JUMPG 12,O292
12800 MOVE 14
12900 JRST O293
13000 O287: FSBR 15,LM+=21
13100 JRST O288
13200 O289: FADR 15,LM+=21
13300 JRST O288
13400 O292: MOVE 7,4
13500 ADD 7,LM
13600 MOVE ROUT-1(7)
13700 O293: FMPR 13
13800 MOVEM ROUT-1(6)
13900 AOJ 4,
14000 CAMG 4,LM+=20 ;NSAMX
14100 JRST OSC3
14200 MOVEM 15,NT-1(1)
14300 JRA 16,(16)
14400
14500 OUTP: 0
14600 MOVE 2,LM+1
14700 MOVE 4,LM
14800 MOVE 1,2
14900 ADD 1,LM+=20
15000 OU1: MOVE 3,ROUT-1(4)
15100 FADRM 3,ROUT-1(2)
15200 AOJ 2,
15300 AOJ 4,
15400 CAMG 2,1
15500 JRST OU1
15600 JRA 16,(16)
15700 END